This invention relates generally to the field of random number generation, and more particularly to a method and apparatus for generating true random numbers based on a quantum optics process.
Random numbers are essential in many applications and they constitute a very important resource. In cryptography, they are required, for example, in the generation of cryptographic keys or the initialization of certain variables in cryptographic protocols. They also find applications in various others fields such as numerical simulations and statistics.
Great attention must be paid to the way these random numbers are generated. Certain algorithms called pseudo-random number generators exist and produce sequences of numbers that have some of the properties of a sequence of random numbers. However a pseudo-random numbers sequence is not random, in the sense that the knowledge of one number in the sequence allows the prediction of all the other numbers of the sequence, both preceding and following. These algorithms take as input an initialization parameter known as a seed and iteratively produce numbers.
Such pseudo-random number generators are fundamentally inappropriate in cryptography. If one used them to produce a key, the entropy of this key would not be equal to its number of bits, but to the number of bits of the seed used in the generator. In other words, an adversary trying to crack a message protected by encryption with a key produced by such a generator would not have to try all possible keys, but only all possible seeds. The pseudo-random number generator would represent the weakest link in the encryption process chain supposed to protect the message.
In numerical simulations, pseudo-random numbers must also be used with great care. It was shown in the past that small effects revealing possibly interesting physical phenomena in the simulated system can be hidden by structures of the pseudo-random numbers sequence used. Alternatively, artifacts can appear in the results of the simulation.
Finally, when using a pseudo-random number generator, one always has to face the problem of how to choose the seed which must itself be random.
So, in all the cases where pseudo-random number generators are not adequate, one must resort to a physical process as a source of randomness. Hereinbelow, the expression “true random numbers” indicates random numbers generated by a physical process.
True random number generators are devices exploiting a physical process to produce true random numbers. Numerous physical processes can be used as a source of randomness for generating true random numbers. Coin tossing, throwing a dice, thermal noise, shot noise, and avalanche noise are examples of such processes. They are all described by classical physics, which is deterministic. Knowing the state of a system at an initial instant allows the prediction of its evolution at all other times. One must thus rely on the following assumption to use them as a randomness source: all of these processes are produced by a large number of elementary events which give rise globally to a complex and unpredictable behavior that can only be analyzed by probabilistic approaches. In this sense, the randomness of these processes is in appearance only and results from their complexity. True random number generators based on a process described by classical physics are commercially available.
The fact that generators exploiting such processes described by classical physics are difficult to model implies that it is difficult to gain confidence that experimental and environmental condition variations will not affect adversely the quality of the true random numbers output by creating some hidden structures. Similarly, it is difficult to verify that they are operating properly.
Instead of resorting to a physical process described by classical physics, one can also resort to a quantum physical process. Quantum physics is a set of theories describing the microscopic world with never contradicted accuracy. Besides this, randomness is embedded within quantum physics at a fundamental level. Consequently, it makes sense to use a process described by quantum physics as a source of randomness for the generation of true random numbers.
In order to build a true random number generator based on a quantum process, one must select a process, which can be easily used in practice. With current technology, the easiest approach is to work with the elementary quantum systems constituting light and which are called photons. The theory describing light at the quantum level is called quantum optics.
Several approaches based on quantum optics have already been proposed and used to generate true random numbers. Researchers at the University of Geneva, Switzerland, have, for example, developed a generator exploiting the effect of a beamsplitter on a single-photon. This generator is described in an article by A. Stefanov, N. Gisin, O. Guinnard, L. Guinnard, and H. Zbinden, entitled “Optical quantum random number generator”, published in the Journal of Modern Optics, 47, 595-598 (2000), the content of which is incorporated herein by reference. The beam is randomly reflected or transmitted. By placing a single-photon detector behind each output port of the beamsplitter and associating a bit value of either “0” or “1” to the detection of the photon by one of the detector, one can produce sequences of random binary bits, whose randomness stems from quantum optics. In practice, producing single-photon states is difficult and impractical. Attenuated light pulses produced for example by a laser were used instead.
Researchers at Deutsche Telekom, Germany, have proposed a similar approach, but have resorted to photon pairs instead of attenuated light pulses. This approach is described in PCT patent numbers WO 98/16008 and WO 99/66641 to W. Dultz and E. Hildebrandt, the contents of which are incorporated herein by reference thereto.
In an article by T. Jennewein, U. Achleitner, G. Weihs, H. Weinfurter, and A. Zeilinger, “A fast and compact quantum random number generator”, Review of Scientific Instruments, 71, 1675-1680 (2000), the content of which is incorporated herein by reference thereto, researchers at the University of Innsbruck, Austria, have also proposed an approach based on quantum optics. They sent streams of single-photons arriving at random times on a single-photon detectors. Every time a photon is detected, the voltage of an oscillator is sampled. A binary value “1” is obtained if the voltage is above a certain threshold, a “0” otherwise. The frequency of the oscillator must be significantly higher than the photon detection rate, so that a large number of oscillations take place between each detection event.
These approaches are all based on a quantum optics process that is fundamentally random. However, they each have some disadvantages when it comes to their practical realization.
What is needed therefore is the use of an improved quantum optics process as the basis for the generation of true random numbers. Further, what is needed is a simple and practical true random number generator based on a quantum optics process.